Automatic machine tool control



Feb. 26, 1963 P. H. MCGARRELL AUTOMATIC MACHINE TOOL CONTROL Filed March 51, 1958 TARE 12 Sheets-Sheet 1 P. H. MCGARRELL 3,079,522

AUTOMATIC MACHINE Tool. CONTROL.

l2 Sheets-Sheet 2 Feb. 26, 1963 Filed March 31, 1958 @FAD/lv Feb. 26, 1963 F. H.4 MCGARRELL AUTOMATIC MACHINE TOOL CONTROL Feb. 26, 1963 P. H. MCGARRELL AUTOMATIC MACHINE TOOL CONTROL 12 sheets-sheet 4 Filed March 31, 1958 Nn En wm www CNN smh

Feb. 26, 1963 P. H. MCGARRELL AUTOMATIC MACHINE TOOL CONTROL l2 Sheets-Sheet 5 Filed March 31, 1958 Feb. 26, 1963 P. H. MGGARRELL AUTOMATIC MACHINE TOOL CONTROL 12 Sheets-Sheet 6 Filed March 31, 1958 v m) wm FI .u b um Mm QQW Feb. 26,

P. H. MCGARRELL AUTOMATIC MACHINE TOOL CONTROL Filed March 51, 1958 12 Sheets-Sheet '7 Feb. 26, 1963 P. H. MCGARRELL AUTOMATIC MACHINE TOOL CONTROL l2 Sheets-Sheet 8 Filed March 31, 1958 idf@ E# Feb. 26, 1963 P. H. MGGARRELI.

AUTOMATIC MACHINE Toor. CONTROL 12 Sheets-Sheet 9 Filed March 5l. 1958 Feb. 26, 1963 P. H. MCGARRELL 3,079,522

AUTOMATIC MACHINE Toor. coNTRoL Filed March 3l, 1958 l2 SheeilS-Sheel.V` 10 I.. 86 f2 85 i een ""VF SQ- mvzsfr F F I :5.1mm AMR cwi.' 657- meer I /84 /88 I l I g4' su" l l mmv. I P. 4- /87 I I fu /aa /22 @s I, ,5o l l M @Q -FL s E f1/MMM@ nur I #40M DIRECTOR 4M/a 555, 657' CVRca/l' rv Ac: ne I I Feb. 26, 1963 P. H. MCGARRELL 3,079,522

AUTOMATIC MACHINE Toor. CONTROL Filed March 31, 1958 12 Sheets-Sheet 11 Ergcf/87 @0M l n n l---acura E IQJJ c) Riso; vn? ua/ v I i I l n o l l s 5 (a) ,ff/a.; (d) uw 5S l l a i I `L n j l l iff/a7 (e l 5 ,g l v l l c SQIL i (b) acura z I 4 .s (F) 52 l r sun vb l Q l l @ema/w ,fwv Y l i l l I s l Y Y r Aff/a5 A 1 FLA-1 km I' but l (C) ma l tu l l l I I l i m s I #nel (A) 5g g gf I kl* l l (d) 'u L' 0 77M! au am [ya @u o t, u2 tJ t4 TIME C /zv #Af/16v Feb. 26, 1963 le. H. MGGARRELL 3,079,522

AUTOMATIC MACHINE TOOL CONTROL Filed March 3l, 1958 l2 Sheets-Sheet l2 .E zg/ o /5/0. @s ng :En 0 a c Erg- /9 /46/7 iL I i I //45z' l 7.0 V45? I @fw/'f afwwM/f/x I Elzezzfar United States Patent C (litio Fiied Mar. 31, E58, Ser. No. 725,414 Claims. (Ci. did-M2) This invention relates to data processing equipment. More particularly, this invention relates to digital data processing equipment adapted, for example, to control the operation of a machine tool, such as a milling machine, so as to automatically produce a desired machined product in accordance with a predetermined digitally coded numerical input program.

Many systems have in recent years been devised for the automatic control of machine tools of the type which were originally controlled by a human operator to produce a desired product. In general, such systems are based upon the use of a coded program which has been previously derived by using a generaal purpose digital computer to determine the steps necessary to be executed oy a given machine in order to produce a particular desired product. This program is then stored on a paper tape or other storage medium in a code adapted to the requirements determined by the structure of the particular control system and of the particular machine being controlled. The stored program is then fed to a director wh'ch converts the program information into electrical signals suitable for controlling a servo-mechanism or other control apparatus to operate the machine tool in accordance with the instructions or commands contained in the coded program. Most such systems have in the past used a digital servo-mechanism rather than the simpler and less expensive analogue servo-mechanism. This choice has been largely governed by the fact that known directors provide a digital output which must be converted to analogue form if an analogue servo is to be used. In practice, both the director and the converter have been extremely expensive, complex, large, and delicate equipments. Therefore, when an analogue servo was used it has been common practice, as a matter of economic necessity, not to apply the electrical output signal of the director directly to the analogue servo-mechanism operating a machine on a factory floor, but rather to record this output signal on a storage medium such as magnetic tape. A single computer, director and converter combination at a remote location may thus -be used to produce magnetic tapes which, in turn, are used in conjunction with a suitable tape play-back mechanism to provide an output to control the servo-mechanism in direct proximity to the machine tool on the facto-ry door.

The procedure of interposing a magnetic tape between the director output and the servo-mechanism input, however, has a number of disadvantages. First of all, the tape recording and play-back equipment adds additional expense to the system. Secondly, if the magnetic tape is stopped by a human machine operator, there is no continuing output to hold the machine tool in position and the continuity of the program is lost. Similarly, the speed at which the machine tool is programmed to operate is normally xed and can not be changed to allow for diierences in hardness of the material being cut or for differences in cutting tools used in diiferent operations. Furthermore, the use of magnetic tape leads to an inherent inflexibility in that other functions performed by the director are not under the control of the human o erator while the machine tool is in operation. In spite of these diiiiculties, magnetic tape has, in the past, been necessary since directors for processing the program output data of the computer have been so expensive, so

ICC

complex and so delicate, as not to be practical for use immediately adjacent to the controlled machine tool in the dirt, vibration and varying ambient temperatures and humidities normally encountered on a factory floor.

It is, therefore, an object of this invention to provide a director for an automatic machine tool control system which itself provides an analogue output signal from digital input data and which utilizes electrical logic circuitry which is simple, eiiicient, and adaptable to complete implementation by transistors or other similar small, rugged active devices and logical elements so that the director may, in practice, be placed directly on the factory door adjacent to the controlled machine tool and operated as a unit therewith.

It is a further object of this invention to provide a director for an automatic machine tool control system which is adapted to convert digitally encoded input data into a phase modulated output signal suitable for directly operating an analogue servo-mechanism controlling a machine.

lt is yet another object of this invention to provide a director for a machine control system which will provide a continuing output signal of fixed value so as to hold the machine in position when the input program is stopped.

it is a further object of this invention to provide a director Which is adapted to automatically execute a program which specifies one of a plurality of operating speeds for each command and to provide in the dfrector manually adjustable means for modifying the program specilied operating speeds.

lt is still a further object of this invention to provide such a director having improved and simplified logic circuitry which may be implemented through the use of standard commercially available transistorized plug in modules any one of which can be readily replaced so as to facilitate maintenance and insure maximum reliability of system operation.

It is yet another object of this invention to provide such a director wherein the registers storing the data in the director each utilize the same easily read binary-decimal code as is used to encode information on the input tape so that the particular channel in which any error or defect in operation may occur will be readily and easily apparent to an operator monitoring these registers from a control panel.

it is a still further obiect of this invention to provide a director which can be economically manufactured at a cost competitive with the cost of the magnetic tape equipment alone required in presently used systems.

It is yet another object of this invention to provide for such a director, circuitry utilizing a particular binarydecimal code which leads to simpliiication of the circuitry required to convert a digitally encoded number into a train of pulses equal in number to the magnitude of the coded number and occurring substantially uniformly over a specified time interval so as to perform a linear interpolation between commands.

lt is a further object of this invention to provide improved circuitry for digitally phase modulating a standard reference rectangular wave by means of a train of pulses of predetermined number occurring in a predetermined time interval.

it is another object of this invention to provide apparatus for generating a predetermined number of pulses in a predetermined interval of time in accordance with sto-red information.

It is a further object of this invention to provide improved electrical circuitry for synchronizing each of a train of randomly occurring pulses with one of a train of pulses of fixed frequency.

Briefly, in accordance with one aspect of the present invention, a paper tape reader, a director, analogue servomechanisms and a control console, are placed immediately adjacent to a machine tool to be control-led on a factory floor, there being one servo for each axis of motion of thecontrolled machine. In normale-poration, a program which has previously been derived from a computer or by other means, is encoded on a paper tape which is read by the tape reader, Athe output of which is supplied to the director. The director, which is preferably, a fully transistorized unit, converts the `digitallyencoded information derived from the tape reader to phase modulated output signals which are -applied to phase demodulators or detectors forming the input stage of each servo system.` The phase detectors derivek unidirectional voltages which drive servo-amplifiers which, in turn, opera-te hydraulic valves controlling rams or other mechanisms controlling `the yoperation of the machine. Although the operation of these components is normally fully automatic, each of these components may,` in accordance with the present invention, also be manually `controlled in some or all of their functions by an operator seated at a control console to which each of the foregoing components `are electrically connected. The human intelligence of the operator may thus be interposed to modify the automatic operation of the machine when this is desirable sincethe arrangement of the equipment is such -that the operator has all of the foregoing kcomponents within his immediate filed of view and under his control. l y

While the novel and distinctive features of the inventio-n are particularly pointed out in the -appendedclaims, a more eXpository treatment of the invention, in principal and in detail, together with additional objects and advantages thereof, is afforded by the following description and accompanying drawings in which like reference characters are used to refer to like parts :throughout and wherein:

f VFIGURE'l is =a`block diagram of an automatic machine tool control system.

FIGURE 2 is a simplified perspective view of a milling machine showing diagrammatically the axes of the controlled motions of the machine.

FIGURE Sis a diagrammatic View showing the format of the information encoded on fthe paper tape controlling the system of FIG.`1.

FIGURE 4 is a ch'art showing a preferred tape coding for the system.

FIGURE 5 is a more detailed block diagram of one embodiment of the 'director shown in FIG. l.

FIGURE 6 is a block diagram of a decade counter of the type used in the system of FIGURE 5 and includes waveform diagrams illustrating the operation thereof.

FIGURE 7 is a detailed block diagram of the clock cycle control and of the pulse distributor of the `system of FIG.' 5.

FIGURE 8 is a detailed block diagram of the output gating matrix and of the sign gates of the system of FIGS. l

FIGURE 9 isa detailed block diagramV of the Iphase modulator of the system of FIG. 5.

FIGURE lO is a volt-time waveform diagram illustratingthe operation of the phase modulator of FIG. 9.

FIGURE l1 is a detailed block diagram of a servo system suitable for use in the system of FIG. 1.

FIGURE l2 is a detailedblcck diagram of -a modilication ofthe director shown in FIG. 5.

vFIGURE 13 is a detailed blo-ck diagram of the synchronizer shown in FIG. 12.

FIGURE 14 is a detailedblock diagram of the phase demodulator used in the analogue servo' systems.

FIGURES l5, 16 and 17 are volt-time wave-form diagrams illustrating the operation `of the circuit of FIG. 14.

FIGURE 18 is a perspective view showing a control console and a director adjacent a milling machine.

FIGURE 19`is a schematic diagram of a feedbaclrresolver used in the system.

Turning now to the drawings, there is shown in FIG. l a block diagram of an automatic machine tool control system in which a punched paper tape Ztl is fed to a tape reader 2l to control a director 22 which controls servo `systems 23 connected to a machine tool 24. Various controls for the machine may be mounted in a control console 25 which is preferably physically positioned adjacent the machine tool Z4, as shown in the perspective view of FIGURE 18. Ille illustrated machine tool 24 may be a milling machine having four types of movements x, y, z and b, such as is shown in simplied or diagrammatic manner in FIG. 2. The various circuits and components of the director 22 and `also the tape reader 2l may preferably be mounted within the housing of the console 25. The punched paper tape Zllcontains in coded form, a program defining a sequence of operations to be performed by :the controlled machine in order to produce a particular desired product. Tape reader 2l senses the information encoded in the punched tape and converts this information to electrical impulses corre- Is ponding to the punched holes. The tape reader, which may for example be a commercially available photoelec- 'tric tape reader, reads the tape one digit at -a time. Since the reader is not provided with storage faiclities to accumulate the information derived from the tape, it delivers the information, o-ne digit vat `a time, to the director 272. The director, which will b e described in greater detail below, is provided with both intermediate and final storage facilities, and first starts the Itape reader to accumulate anl entire command in intermediate storage. When one command has been executed, thepreviously read command is transferred from intermediate to final storage.

A command may conveniently consist of twenty-live digits 4there being six digits in each of the signed numbers x, y, `z and b which specify the magnitude of the motion along the plus or minus direction of one of the axes x, y, z or b shown in FIG. 2 and one digit specifying the lengthof time in which such motions is to take place. When one command has been read and accumulated in intermediate storage,` the tape is instantaneously stopped. While one command is being read into intermediate storage, the director simultaneously starts to convert the previously read command which has been transferred :inparallel from intermediate `storage to iinal storage, into four separateipulse trains, one to control each axis of motion. The number of pulses in each train is determined lby the corresponding number x, y,'z or b, in nal storage; The time duration or interv-al for each pulse train is, how'- ever, the same and is determined separately for each command by the clock cycle time encoded as the twentyfifthV character of each command on the tape. Each of ythe pulse trains is then directed into one of eight channels, dependent on the sign of the respective number controlling the" pulse train for x, y, z and b, respectively, and is used lto phase modulate one of four fixed frequency rectangular wave outputs, to a degree proportional to the number of pulses in the train, thernovel phase modulator used thus itself serves ias ,a digital to analogue converter.

Since the director is such as to be suitable for on-line operation, its output signals Vare applied directly to the analogue servo-systems or other actuating means or 'control apparatus controlling the operation of the machine tool. The phase modulated outputs for the x, y, z and br channels, respectively, are eachl applied to a phase demodulator which is the input stage of each of four analogue servo-systems 23 controlling the machine tool 24.. Each 'servo-system is, of course, also supplied an unmodulated output which may be used as a reference so that the servo can determine the degree of phase modulation for each channel and drive the machines distance along each of its four axes which is proportional to this,

n) phase modulation. The degree of phase modulation is, of course, in turn determined by the program numbers encoded on the tape.

At the end of the clock cycle time associatted with the command in final storage, the command will have been converted and the machine operation called for will have been executed. Final storage is then automatically reset to zero, the contents of intermediate storage (the `cornniand which was read in while the lirst command was being converted from final storage) is transferred from intermediate storage to tinal storage and the intermediate storage register is reset. T he tape reader is then started again to read the next command into intermediatc storage while the command just transferred to linal storage is being converted and executed. Thus the director assirnilates and converts the information read sen quentially and incrementally from the tape and provides an output suitable for controlling a plurality of servosystems to operate the machine tool in a continuous manner it desired. However, the program tape may, if desired, also call for stopping the operation of the machine as will be explained in detail below. Furthermore, each ot the units shown in l, tape reader 2l, director 22, servo-systems and machine tool Z4, are connected to be manually controlled (as for initiating operation, resetting, etc), from a control console 2:3' in a manner also to be described in greater detail below.

lt should be noted here, however, that in the present system tl e director is preferably an all transistorized unit which is suliiciently small and rugged to be used on a factory floor immediately adjacent one or more machine tools being controlled. f course, the output of the director could be recorded on magnetic tape and this tape then used to control the machine tool as has been the practice in the past. However, the director ci the present invention can be manufactured at a cost competititve with the cost of the tape play-back equipment required for this procedure and, as noted above, is rugged enough to operate in the presence oi factory dirt, vibration and varying ambient temperature and humidity. lt is, therefore, preferred to position all ot the units shown in EEG. 1 in close physical proximity on a factory lloc-1', so that an operator seated at the control console can see all other units and monitor the operation ot' the entire system, Of course, it will also be understood, however, that a plurality of similar machine tools executing the same program can be operated in parallel from a single director under the control of a single operator.

in FIG. 2 the appropriately labeled arrows diagrammatically illustrate the axes of motion, x, y, z, and b, ot a machine ZA. controlled by the numbers a', y, z and b lread from the tape. in practice the controlled machine may, for example, be a commercially available milling machine such as ti e Cincinnati Milling Machine Corrpanys l-lydrotel model 30 X 16 milling machine which has been provided with four hydraulic valves operated by the servoeysterns 23 to drive rams or other mechenisms which cause the relative motion between the worlt piece El and the cutting tool EZ along the tour axes x, y, z and b, respectively. rl`he hydraulic valves and the rams or other actuating mechanism may be of any convenient conventional construction and not shown in detail since many such are known in the art. Thus, the table 26 oi the machine 24 moves with respect to the iixed frame Z? and cutting tool 352 or the machine and carries the work holder and work piece ffl with it along the longitudinal axis as indicatetd by the arrow x. Work holder 3G is in turn mounted for rotary motion in a plane perpendicular to table Z5 and about a horizontal axis lixed with respect `to table 2d as indicated by the arrow b. Cutting tool 32 ifs mounted in a vertically movable holder 23 which is, in turn, mounted in a transversely movable member 29. Member is mounted for transverse motion (along the axis) in a xed upright portion 427a of 'frame 2'7. Cutting tool may thus be actuated d for both vertical and transverse motion with respect to table 26 and work piece 3l as indicated by the arrows y and z, respectively. When power is applied to operate cutting tool 32, the cutting point may be brought into contact with work piece 3i by means of manual controls to be described below. rIherearter, the relative motion between work piece 3l and cutting tool 3d, made up of components of motion along some or all of the four axes, x, y, z, and b, determines the shape to which work piece 3l will be cut. Or" course, it will be understood that the milling machine shown in FlG. 2 is merely part of a preferred illustrative embodiment of the system and that other machines and/or other aires of motion could be controlled by the data processing equipment of the present invention.

in order to facilitate a detailed explanation of ythe structure and operation of the preferred embodiment of the invention vshown in the drawings, a set of particular quantitative values will be given and used in tracing through the execution ot a command by the system. While the circuit structure of the system is related to the logic of the coding to be described, it should be understood that both the particular coding and the quantitative values to which the system is calibrated are merely illustrative ot a presently preferred embodiment and could readily be varied in accordance with the needs of a particular application as Will be apparent to those skilled in the art.

in 3 there is diagrammatically shown the general format of the twentydive characters in a single com mand digitally encoded in a single block of information on the paper tape 2li which is fed to tape reader 2l. T he chart of FIG. 4 shows the articular coding used to encode any desired character. For the purposes ot this specication the term character will be used synonymously with the term digit and shall be understood to lean any single letter, symbol, or decimal digit. In the present apparatus at 1--1-2-5 binary-decimal code is used wherein each decimal digit is represented as the sum of tour weighted binary bits The term bit or binary bit is, in conformity with general usage, herein used to mean a single binary number, that is, a one or a zero. ln pure binary notation, of course, each binary bit implies a weight multiplier or coenicient which is some power of two, the power dependi g on the position of tle bit in the binary number. Similarly in pure decimal notatiton each digit implies a coefiicient which is some power or ten, the power depending on the position of the digit. Thus, the three digit decimal number 237 may be explicitly written as (2X162-l-3Xl01-l-7 10). ln the l-l-2-5 binary-decimal code used, this same decimal system is used, but each digit is expressed as a binary number wherein the weights or implied coefficients of each bit are not ascending powers of two as in pure inary, but rather the decimal numbers l, l, 2 and 5.

ln FEiG. 3 it will be noted that tape 2@ may conveniently have eight parallel channels arranued longitudinally of the tape and respectively labeled i, 1", 2 feed holes, 5, CK, (D and X. The above mentioned four binary bits representing any given digit or character are arrange transversely of the tape, one bit in each of the channels i, i', 2 and 5, w1 creas the sequence of digits in a decimal number is arranged longitudinally of the tape as shown. On the tape, the presence of a hole in a given position of a particular channel is used to indicate a binary one for that bit, whereas the absence of a hole indicates a binary zero. It will be noted that only four of the available eight channels on the tape are used in the binary-decimal code referred to above. One of the remaining7 four channels contains the tape feed holes which feed the tape over a sprocket in the reader or the other three channels either the X or the O channel may be used to encode a program stop command in a manner to be indicated below while the remaining channels may, it desired, be used in a more elaborate code to control a tape encoding machine, such as the Friden Flexowriter which may conveniently be used to prepare and check the punched tape from computed data. It will be understood, however, that only the format of FIG. 3 and coding of FIG. 4 are pertinent to the present invention.

It will be note-d from FIG. 3 that the rst digit of the twenty-tive digit command in a block to be read by the tape reader is labeled sign x. That is, this digit indicates whether the component of motion to be executed along the x axis shown in FIG. 2 is to take place in the plus or min-us x direction. By reference to the detailed coding given in the chart of FIG. 4 it will be seen that so far as the 5, 2, l and 1 channels are concerned, a plus sign is coded as 0110 (holes punched in channels 2 and 1 only) and a minus sign is coded as 0010 (hole in channel 1 only). These sign characters thus diifer by only a single bit in one channel, channel 2, and only this single channel need 'be read. Hence, so far as storage requirements are concerned, only one bit rather than the usual four bit provision per character need be made for the four sign characters in each command. The twenty-five digit command will thus consist of eighty-eight bits. The second digit to be read is the ten thousands digit of the number specifying the magnitude of the motion to be executed along the x axis. The other four digits of this five digit decimal number follow immediately in sequence. Each decimal digit is, of course, encoded ony the tape in four-bit binary code in a manner shown in detail in the chart of FIG. 4. Thus a decimal 1 is written 0001; 2, 0100; 3, 0101; 4, 0111; 5, 1000; 6, 1001; 7, 1100; 8, 1101; and 9, 1111. For the sake of clarity it should be pointed out thatthis representation of 9, for

example, may be explicitly written as It will thus be seen that the coded representation of each decimal digit is a simple one which can be quickly read visually by an operator either directly from the tape or on banks of neon lights on the control panel representing the contents of the various registers of the director which are all arranged in the same coding pattern for ease and simplicity of operation, monitoringand maintenance.

Returning to FIG. 3 it will be noted that the first six digits read by the tape 'reader are the sign and the ve digits of the number indicating the motion required in the x direction. The units of magnitude of moti-on represented by this number may conveniently -be ten thousandths of an inch. Thus, the largest motion which a single command can call for in either the plus or minus x direction is 9.9999 inches. The next six digits to be read, digits 7 through 12 on FIG. 3, are similarly the' binary coded representation of the signed magnitude of the motion required in the y direction. Similarly, digits 13 through 18 specify the signed magnitude of the motion required in the z direction, and digits 19 through 24 specify the signed magnitude of the rotary motion required in the b direction. The units of the b number may, for example, conveniently be hundredths of a degree of rotation with, clockwise rotation being taken as positive as indicated in FIG. 2. Thus, the largest rotation which a vsingle command could call for would be 999.99 degrees.

The last or twenty-fifth digit of the command or block to be read is one of the letters A through J which is used as a c-lock cycle code to indicate the length of time during which the machine'tool is to simultaneously execute the four moti-ons having magnitudes and directions specified by the x, y, z and b numbers. That is to say, each of these four motions is to take place simultaneously and at such a rate that each will be completed at the end of a time interval having a length specified by the clock cycle code letter. The binary-decimal coding for these letters A. through J is shown at the beginning of the chart of FIG. 4 and will not be repeated here. The length of d time corresponding to each clock cycle code letter is given in the chart below.

Clock Cycle Tape Clock Cycle Clock Cycle Tape Clock Cycle Code Time Code Time (seconds) (seconds) It is thus apparent that the machine may be programmed to complete the motions -called for in any one command during a time interval having, for example, any one of the above ten lengths in seconds. The logic of the electrical circuitry of the director is such as to effectively perform a linear interpolation in taking the machine from the point it was left at by the last command to the point called for by the increment of motion specified in the command being executed. Thus, if x only is specified and y, z and b are zero for a given command, for example, the machine will not only move in a straight line along the x axis but also will move at a substantially uniform rate so as to complete the required x distance at the end of the time specified by the clock cycle code letter. The detailed manner in which this interpolation is accomplished will be described below. It is, however, mentioned here in order to point out that in the operation of the machine any given curve or curved surface is approximated by a series of straightline or rotary component motions. Of course, the smaller the distance traveled during' each command, that is, the smaller each straight line segment or circular arc b of the approximation is, the better the approximation can be. It is, of course, assumed that the detailed program of moti-ons necessary to cut any desired surface to any specified tolerance will have been computed beforehand as 'by the use of a general purpose digital computer. The results of these computations are encoded on the paper tape 20, in any convenient manner as, for example, by use of a Flexowriterf Thus, in use, a library of reproducible paper tape programs may be built up and kept on hand ready to feed to the tape reader and director in order to produce any desired item. The computational techniques used to compute a program to be stored on the paper tape are well known in the art and do not form a part of the present invention.

This stored program, encoded on tape 20 in the manner discussed above, isr sensed by the tape reader 21 and converted to an electrical -output in which a binary one (corresponding to-a hole in the tape) is represented by the presence of a pulse on a given channel at a predetermined point in time and a binary zero (corresponding tothe absence of a hole at a given point on the tape) is represented by the absence of a pulse at the corresponding predetermined point in time. This output is applied to director 22 over cable 35 as shown in FIG. 5 which is a more detailed block diagram of one embodiment of the director Z2. In the embodiment of FIG. 5 no provision is made for manually varying the'clock cycle time specied in the commands of the program. A modification of the director of FIG. 5 in which such provision for varying programmed time is made is shown in FIG. 12 which will be discussed in detail below. It should be noted here, however, that the two embodiments have many features in common and that like reference characters have -been used to indicate like parts in. the two embodiments.

In both embodiments, all of the binary bits in a single digit or character' on tape are sensed simultaneously by tape reader Z1. Hence, cable 35, though shown as a single line, will, of course, be understood to include one channel for each of the-bits so sensed. This output 'from tape reader 21 is applied over line 35 to a data distributor control unit 3d, the output from which is in turn applied over a plural channel cable 37 to the intermediate storage unit Again, assuming the exemplary quantitative set of values mentioned above, the data distributor and intermediate storage must have the following characteristics and act as a pair to perform the following functions. First, they must accept and store information from the tape reader. The data distributor must route each of t le twentydive characters to a separate storage slot such as an individual register in intermediate storage. The tape reader must be stopped after a block of information has been read. The intermediate storage circuitry must be such that a complete block can be transferred in parallel from intermediate storage to linal storage on a pulse command, preferably in less than 50 microseconds. Overall, the data distributor and intermediate storage must be such that a complete block cau be read and be ready for transfer to final storage so that the apparatus is ready to start to read anotherblocl; in less than one halt second, that is the smallest clock cycle time used.

in practice, the pulse distributor may, or example, consist ot two cascaded ring counters each of which counts up to and which together, therefore, count up to 25, that is, up to the number of characters in a complete block. This counter is driven by pulses generated by each separate incremental motion of the sprocket Wheel of tape reader 2i. These pulses are applied to the pulse distributor counters over line 39. The counter, in turn,

.controls 2l sets of four gates each and four sets of one gate each so as to enable or open one set of gates for each particular count. The one bit sign characters are of course fed through the associated single gates whereas the numeric digits and time letters are each ed through its associated four gate set. The output of each set of gates is ted to one of twenty-tive sets of hip-flops or bistable circuits, each set forming an individual slot or register in the intermediate storage unit 3S. Twenty-one of these registers have four liip-tlops each to accommodate four bit digits whereas four of the registers are each single flip-flops to store the sign bits. The memory thus stores a total of 88 bits.

v ln operation, the iirst ot the twenty-live sets of gates is enabled or opened while the tape reader is reading the irst digit. Since the output of this set of gates is connected to the first register in intermediate storage, the iirst character is thus routed to the proper slot. This process is then repeated for each of the succeeding twenty-four characters. At the end of one block, the counter having reached a count of twentyh've, emits a pulse over line di), which is applied to the tape reader Sil to stop the reading process.

rl`he ring counters and gates forming the circuitry for data distributor 35 and the bi-stable circuits or hip-flop registers used in intermediate storage 3S may, of course, be ot' any suitable well known design so tar as the individual stages are concerned. lt is, however, preferred to torni these stages from plug-in modules consisting of solid state components such as transistors, diodes, etc. mounted on a printed circuit board which is supplied with appropriate terminals. Such basic modules are commercially available, for example, from the Computer Control Company, Inc., Wellesley, Mass., and are fully described in their various catalogues including., for eX- ample, Catalog M. Eince these and other equivalent basic .stage circuits for performing the functions hereinabove described are wel known in the art, they will not be described in further detail.

When one complete command has been executed, a pulse distributor 53, to be described in detail below, emits a pulse over line It@ which is applied to a delay element 5d and thence through lines 5l to 44E to final storage t3 to reset the bistable circuits of final storage 43. The term reset is, of course, here used to mean that Aeach of the bistable circuits 'in linal storage 43 is returned to its zero indicating condition. The term set will similarly e used to indicate that a bistable circuit is placed in its one representing condition. Which of the two stable states of any particular bistable device is chosen to represent a one or a zero and the exact connection required are matters of convenience and convention which will be obvious to those skilled in the art.

The reset pulse on line 5l is also applied through a second delay element 52 and lines 53 and 4i to intermediate storage element 3%. The pulse is so applied to intermediate storage 33 as to cause the parallel transfer of the contents of intermediate storage 3S to final storage 43 through line or cable d2 thus leaving intermediate storage 3d in the reset or all zero condition ready to have a new command read into it from tape reader 2l. and data distributor 3o. The reset pulse is further applied through a third delay element 5d and a line 55 to a program stop hip-flop 56 which will have been placed in the reset condition by a pulse emitted from tape reader 2i. over line 59 when the tape reader was stopped after reading the previous command if that command did not contain a program stop code. The progra-m stop coding and operati-on will be described in detail below. The pulse applied to flip-liep 56 over line 55 is therefore a setting pulse or one applied so as to normally change the state of the liip-'llop from its reset or zero representing to its one representing condition. Output is taken from ilipliep 56 so that only a change from reset to set condition results in a pulse output which is applied over lines 57 and 53 to start tape reader 2l and cause it to read the ext command into intermediate storage through the data distributor. The output pulse from flip-dop 56 which is applied over line 5S to start the tape reader 2li is also simultaneously applied over line dt) to start pulse distributor 4S which simultaneously initiates the process of converting and executing the previous command now stored in final storage 43.

it is apparent that delay elements 50, 52 54 and iiipiiop 55 provide between cycle timing. Delay 52 should provide ample time for resetting of iinal storage before the end of this delay signals for a reset and transfer of intermediate storage into iinal storage. Delay 54, initiated at the end of delay 52, allows intermediate storage to be reset and transferred before iiip-ilop 56 is set to again start the tape reader. The sum of delays 52 and 55.- should preferably not exceed micro-seconds. In practice, these delays may be one-shot multivibrators of the type which are also commercially available as transistorized plug-in packages, from the above noted source. Of course, dip-flop 56 is also such a commercially available module.

The structure of iinal storage unit 43 is quite similar to that of the intermediate storage 3d in that it also consists of twenty-live individual registers composed of bistable circuits or flip-flops providing storage facilities for a total or 88 bits. The four bits comprising the cloclo cycle code letter are stored in one such register, the output from which is applied over a cable d5 to control a clock cycle control unit do which, in turn, has an output applied over cable 47 to the pulse distributor 4S as will be described in greater detail below. As noted above, the sign of each of the numbers x, y, z, and b can be determined from a single bit. These four individual bits are stored in separate registers. Zero indicating and one indicating outputs from each such sign register are applied over an eight channel cable 61 to control eight sign gates indicated by element 62 in a manner and for a purpose which will be described in detail below. The remaining S0 bits, comprising four bits for each of the tive digits of each of the four numbers, x, y, z, and b, are stored in twenty separate l-bit registers, the outputs from which are applied over line d3 to output gating matrix 64 so as to control the output applied from pulse distributor 48 over line 65 to the matrix in a manner to be described below. it should be noted that the intermediate and final storage units each provide for parallel read-in and parallel read-out from each of their respective registers. The data -distributor control 36 provides a sequential or serial read-in as between different registers within intermediate storage, but the basis storage circuitry within both intermediate 'and final storage is parallel in both input and output.

A further input to the clock cycle control 46 and pulse distributor liiS-is derived from a master oscillator 66 which may, for example, be a free running multivibrator connected to provid-e a square wave output having a frequency of 1GO kilocycles. This output is applied over leads 67 and 68 lto pulse forming circuits 69 which'ditler entiate the rectangular wave output in 'order to derive spiked pulses at vthe leading and trailing edges of each rectangular pulse. rln practice, this may most conveniently be accomplished by deriving a rectangular wave output over line 68 which is 180` degrees out of yphase with theY output derived over line'67 as illustrated in 4BIGJS in the Waveform inserts 71B and 7-1, respectively. Pulse forming circuits 69 then diiierentiate the leading edge-of each of these Wave forms'to Vderive pulse outputsas shown in FIG. l'5 in the wave form inserts 72 and 73, respectively. Thus, the point A in Wave form 71 coincides with' pulse A in waveform B and similarly point B in 'wave form 76 coincides with'pulse B in wave form 72. By difterentiating lthe leading edge of these out-of-phase wave forms, pulse forming circuit 69 provides one output over line 74 which consists ofthe B pulses illustrated in wave form v72 and asecond output over line 75 which consists 'of the A pulsesillustrated in wave form v73|. It will be apparent that'there will be one A pulse and one B pulse for each cycle of the 100 klocycle mast-er oscillator output. Each A pulse will thus occur ten microseconds after the previous A .pulse,-ar1d each B pulse will occur ten microseconds after vthe previous B pulse. Furthermore, each B pulse will occur halfway between two successive A pulses, that is, `live microseconds after the previous A pulse.

The B pulse output from line 74 is applied'over line 76 to a frequency divider 77 which may conveniently be a count `down circuit dividing the frequency ofthe B pulsesby so as to derive from the l0() kilocycle input ya 20 kilocycle output which is applied over line 78 to an input gate 93 and thence over line 94 to the clock' cycle controlllt. Of course, it will be understood that master Yoscilla-tor 766 provides the basic timingsynchronization `for the entire system in a manner which will be described below. This master oscillator is preferably a crystal controlled vrectangular Wave oscillator or multivibrator which, like the other components of the system, is commercially available as a vtransistorized module and will not be further described herein. lt is valso understood, of course, that the stated frequency of 100 k.c. is exemplary only'and that any convenient frequency could be used.

It is the function of lthe clock cyclecontrol-46and pulse distributor 4,3 to derive from the 20 kilocycle input applied over line 78 a train of output pulses foreach 'of the four axes of motion, x, y, z, and b, which trains `of pulses Vare applied over output cable 65 through output gating matnix6, and sign gates 62 to a phase modula- 'tor 125. Each of these trains `of pulses is initiated by the pulse emitted from program stop flip-llop 56 simultaneously over lines 58 and 6d to start tape reader 21 and to set a flip-flop in pulse distributor 48 which opens gate 93 to start the pulse distributor 48 to convert and execute the previously read command stored innal storlofpulses equal in number to the corresponding axes number `x, y,'z, 'or b, respectively stored in linal storage vits two states it is in.

l2 representing the command to be executed and applied over line 63 -to output gating unit 64. At the .end of these trains of pulses, pulse distributor 48Yemits the pulse over line 49 which is ltransmitted through delay elements 50, '52 and 54 and, in tu-rn, resets linal storage, transfers the previously read command -from. intermediate to linal storage thus resetting intermediate storage, again starts the tape reader in reading the vnextcommand and simultaneouslyfrestarts'the-pulse distributor 48- in converting the next command.

The detailed manner in which the clock cycle control 46, the pulse distributor y43, the output gatingunit 64, vandthe sign A,g-ate's62 co-act to produce the above noted train-s of pulses in accordance with the information stored in nal vstorage '43 Ymay be seen more clearly'by refer ence to FlGURESI 7 and 8.

The pulse distributor .48 which i-s shown in greater detail in the dashed line block 4'8iofFIG. 7'may, for example, consist .of ve cascaded vdecade counters each being of thetype shown in greater detail inFIG. 6. Each decadeis constructed of four interchangeable plug-in and preferably transistorized module flip-flop .or vbistable circuits, plus the external feed-'hack connections shown in FIG. 6. 'IlfieseV our flipaops are indicatedfor each decadecounters in FlG.6 .by lthe blocks FFI, FP2, FFS .andFFl, respectively. Each of these yflip-flop circuits, as is well kno-Wn in the art,.has two stable electrical states and may Ibe-triggered from one state to the other by an input ypulse whichmay =be applied to PF1, for example, over line '80, or,xas -shown in FIG. 7,over lines 30a and .18%. The binary zero representing statey of `the flip-dop minal so connected internally that an applied pulse will change the state of the flip-flop regardless of which of When PF1 is in the reset or zero representing condition, an inputpulse applied over line Swill flip the circuit to its set condition and in sodoing, the circuit will emit what may be termed a non-carry .output pulse over line 81. yThat is to say, line 81 is connected to the set output terminal which is a terminal so connected that Ia pulse appears at it only when the Hip-flop is changed `from its reset to its set condition. This iirst output pulseis yindicated as pulse 81a in the wave form diagram at the right of FIG. 6 which shows all lof the non-carry output pulsesemitted from each of 'the four `cascaded iiip-tlops asthe .decade counts the input pulses froml tolti. When asecond inpu-t .pulse is applied to PF1, over line 86,. it returns the FFI from its .rset .condition to its reset or zero representing condition, .andthe PF1 emits a carry pulse over line 82. That is to i'ts state ischanged from a one to a zero representing condition is also applied over a line 34 to the reset input rterminal *of PF4 for apurpose to be describedbelow.

By reset input terminal, of course, :is meant the terminal Vso connected that an applied pulse will change'the state of the flip-flop only if it is already in a set condition so that it may be reset. Similarly, the term set input terminal will be used herein to mean the terminal so connected that an applied pulse will change the state of the flip-Hop only if it is already reset so that it may bel set.

The carry pulses lemitted yfrom PF1 when the second y andsucceeding even numbered pulses areappliedare indicated in the Wave-form diagram .at `the left of FIG. 6

labeled carry output pulses. lt will, of course, be understood that the reset or carry output pulse terminal of FF is connected by line S2 to the binary input terminal of FFZ, the carry output terminal of FFZ being connected by line do to the binary input terminal of FFS, the carry output terminal of FFS being connected by line itil to the binary input terminal of FF@ and the reset or carry output terminal of FF providing an output along line 9th lt will be noted that the term carry output terminal is used synonomously with the term reset output termina and that the term non-carry output terminal is used synonomously with the term set output termina The output pulses appearing at non-carry output lines dit, d3, 37 and 89' from the respective flip-flops as a sequence of ten input pulses is applied to yline Sti are illustrated in the appropriately labeled wave-form diagram at the right of FlG. d. rhus, pulses Sla, rlb, Slo, 81d and @le appear on line 8l, pulses 83a and @3b appear on line 33, etc. rEhe output pulses appearing on carry output lines S2, 86, S3 and 9@ of the respective flip-ilops are similarlyillustrated in the appropriate labeled wave form diagram at'the left of FlG. 6.

v'vt/hen the entire decade is in its reset condition, all of the flip-flops arc in the zero representing state and the decade is ready to begin counting. The first pulse applied, as noted above, changes FFl to its set state and provides output pulse dla. The second pulse applied changes FFl back to its zero or reset state and the carry pulse 82a along line S2 changes FFZ to its et or one state, thereby providing non-carry pulse dSa. The third pulse applied changes FFl to its one state, thereby providing non-carry output pulse Sib. The fourth pulse applied changes FFl back to zero, its carry pulse changes FFE back to zero and its carry pulse, in turn, changes FFS from zero to one, thereby providing non-carry` output pulse 237e. The fifth pulse applied simply changes FFl to its one state and provides noncarry pulse die. The sixth pulse applied changes FFl from one to zero, thereby providing a carry pulse which changes FF?. from zero to one, hence providing noncarry pulse S315. The seventh pulse applied simply change FFl from zero to one, thereby providing noncarry output pulse Sid. At the count of eight, FFl goes from one to zer-o, providing carry pulse 32d which is applied over line d to the binary input of FFZ and is also applied over line dft to the reset input terminal of PF4. By reset input terminal, at noted above, is meant the input terminal so connected that an applied pulse will change the state of the flip-liep from one to zero only if the ilip-llop is originally in a one state.

FF/t1, however, has already been reset and is in its Zero state, therefore neither pulse 82d nor previous carry pulses have any effect on FFt. However, at the count of eight, the pulse 82d on carry line d2, changes FFZ `to zero which, in turn, changes FF3 to zero and emits pulse which is applied to the binary input of PF4 `to change it to the set or one representing condition and provide nou-carry output pulse @9a. At the count of ninc,rFFl is simply changed from its zero to its one representing state and provi es non-carry output pulse Sie. At the count of ten, FF is changed from its one to its zero condition, thereby providing carry output pulse 827e. rthis output pulse, which is applied over line de to FFd, now iinds in its one or set condi tion and resets FF@ to provide output carry pulse Sida on line The carry pulse which is applied over line 84 to FFdl is, of course, also applied over line S2 to FFZ and would normally change its state from zero to one. However, this action is prevented 'ny applying a signal over line from FFd to FP2.. Line 3S is connected to sense the one representing state of *Fd and to apply a voltage Vto FFZ such that whenever' FFliis in its one representing, or set state, will be held in its zero representing state in spite of 'the application lili to it of a trigger pulse such as 82e. The detailed cir cuitry by which this latter action per se is accomplished is well known in the art and need not be further described here.

`lt is thus seen that the four cascaded lip-dops are Connected so that when they are all initially reset to zero by any conventional means not shown and ten input pulses are applied to line 3G, the lirst nine output pulses will change the internal states and produce nine noncarry Output pulses, whereas the tenth input pulse will not produce a non-carry pulse but will produce an endcarry output pulse such as pulse 9de at output line 90.

In FIG. 7 five decade counters of the type shown in detail in FlG. 6 are arranged in cascaded relationship. That is to say, the units decade is provided with a carry output pulse line Qtlb which is connected to the binary input terminal of the tens decade. Thus, after ten pulses have been applied over line tlb from the clock cycle control o to the units decade, the units decade at the tenth pulse will emit a pulse over line @Gb which is upplied as an input to the tens decade. The tens decade is, in turn, provided with a carry output pulse line e which connects to the binary input of the hundreds decade. Similarly, lines 90d and 9de connect the hundreds, the thousands and the ten thousands decades in cascade, Whereas the ten thousands decade is provided with a carry output pulse line rdf which connects to line e9 for a purpose discussed in connection with FIG. 5.

From the foregoing, it is apparent that when input pulses are applied to line Sill), the units decade will emit a carry pulse in the tenth pulse, the tens decade will emit a carry pulse at the one hundredth pulse, the hundreds decade will emit a carry pulse at the thousandth pulse, the thousands decade will emit a carry pulse at the ten thousandth pulse, and the ten thousands decade will emit a carry pulse at the hundred thousandth pulse. Thus, if for example, the frequency of the input pulses applied to line Seb is 312.5 cycles per second, the end carry pulse emitted from line Stlf will be emitted 320 seconds after the rst input pulse is applied to the units decade over line Sub. lt should also be noted that input line Stia from the clock cycle control is applied as sho-Wn in FIG. 7 directly to the trigger input of the tens decade rather than to the units decade. Hence, for pulses applied over line Sila, the pulse distributor counting chain will count to ten thousand rather than to one hundred thousand, as is the case when the input is applied directly to the units of decade over line Sub. For example, if the frequency of the input pulses applied over line Stia is twenty kilocycles per second, the counter will count to ten thousand and the output pulse on line 93j will appear one-half second after the rst input pulse is applied. lt is the function of the clock cycle control to apply input pulses of the appropriate frequency to the appropritae line Stia or 8% of the pulse distributor counter so that the counter will provide an output pulse over line 4% at the end of the clock cycle time called for by the clock cycle code letter stored in iinal storage. The precise manner in which` the clock cycle control accomplishes this will be described below.

lt should first be noted here, however, that while the decade counters of the pulse distributor are counting 'from one to ten thousand, or from one to one hundred thousand, as the case may be, at a rate determined by the frequency of the input pulses from the clock cycle control, each stage of each decade counter will also provide a non-carry output pulse at the respective terminals 8l, S3, S7 `and S9 thereof, Whenever the particular stage is set or changed from a zero to a one condition as explained in detail above in connection with FIG. 6.

Furthermore, referring to the graphical illus-tration of the time distribution of these non-carry output pulses shown in FIG.l 6it will be noted that the .total number of non-carry output pulses provided by each respective ilip- `hop of the Idecade as the decade counts from one through ten is indicated by the numbers in the blocks at the right of FIG. 6 as 1, 1, 2, andl 5, respectively. Thus it will be noted thatFFl produces tive such non-carry output pulses, FFZ produces two such non-carry output pulses, FFS produces one such non-carry output pulse and that FF4 `also produces one such non-carry output pulse. Furthermore, no non-carry pulse from any given flip-flop is ever time coincident with any other nor1-carry pulse from any other Hip-flop or" the same decade and no non-carry pulse from any ip-op of a given decade is ever time coincident with that decadesiinal output carry pulse. Since the carry ouput pulse fromone decade is the trigger input pulse to the next decade, it follows that as the complete counter goes through a complete count there will be one and` only one non-carry output pulse from some stage of some decade for each input trigger pulse counted except the last which produces the final output carry pulse. Furthermore, no two noncarry output pulses will be time coincident. Even more important, these non-carry output pulses will be numerically distributed among the stages of each vdecade as-indicated by the num-bers asso ciated with lines 81, 83, 85 and 87 of FIG. 7. Tha-t is, during .a count of one hundred thousand pulses, FFI of the units decade produces fifty thousand non-carry output pulses, FFZ twenty thousand, etc. Of course, in the ten thousands decade, FFI produces only 5 non-carry pulses, FFZ produces 2, FFS and PF4 one each. The fact that these non-carry output pulses have this particular numerical distribution and the foregoing logical properties is used to instrument the above discussed binary-decim-al l--12-5 code.

Thus, the fact that the total of the non-carry output pulses from the flip-hops of a given decade is arranged in the 1 1-2-5 pattern illustrated in the graph of FIG. 6 is the basic rea-son why the input information is encoded on tape in the l--l--2-5 binary-decimal code discussed above. It will be seen that the non-carry output line, from each flip-flop or stage of each decade as connected to the input terminals of each of four gates, as illustrated in FIG. 8, and that the control termin-als of each of these gates .are connected by control lines C tothe registersof final storage element 43 in such a manner that the gate connected to any storage element containing a one is enabled or open, whereas a gateconnected to any storage element containing a zer-o is not enabled, o-r is closed. The output gates are thus effectively connected in. a matrix array wherein the non-carry output terminal of one stage of thecounter is connected to all of the gates in one column of the matrix and the bits encoding one of the four numbersY x. y, z, or b in final storage are respectively connected to successive-gates in each respective row of the matrix. Furthermore, it should be noted that'the comiections for any given number such as X are made in inverse magnitude relation. That is to say, the bits of the ten thousands digit in final storage control the output gates connected to the units decade of the pulse distributor. counter, the bits of the thousands digit control the hundreds decade of the counter, etc. Finally, of course, the bits of the ten thousands digit control the units decade of the counter. The open gates will then pass a total number of non-carry output pulses corresponding Ito the number represented in linal storage.

Furthermore, since none of the non-carry output pulses `are ever time coincident, the outputs from these gates may vbe connected to a single line such as one of the lines 110',

112, 114, 116 so that the sum total ofpulses appearing on -a given line as the decade counter runs through its complete count will be equal to the associated number x, y, z, or b controlling the gates feeding tha-t line by the electrical states of the registers representing the number inthe final storage element. Of course, it is necessary to provide a set cf four such gates for each of the x, y,

16- z, and b axesv for each decade. Thus, the matrix will consist of L rows and M XN columns, where L is here 4, the number of separate axes of motion M is 4, the number of bits per digit, and N is ve, the number of digits per character,

Turning now to FIGURES 5 and 7, it will be noted that output carry line 90f of the last decade of the pulse distributor is connected to the reset input 4of a flip-flop 91 and that the line 60 to which the pulse which starts tape reader 21 is also applied, is connected to the set input terminal of ip-op 91. Outputs are, in turntaken from flip-flop 91 over line. 92 to control a gate 93y to which the 20 kilocycle output derived from the master oscillator through divider 77 is applied as an input over line 78. Thus, the pulse emitted fromv flip-flop 56 which initiates the operation of the tape reader to read a single command also sets iip-op 91 and thereby enables o-r opens gate 93 so that the 20tkilocycle signal on line 78 is applied to the clock cyclecontrol over lines` 7S and 94. When the cascaded counters of the pulse distributor have completed their count, the final end carry output pulse which is applied from line 9W to line 49 is also applied to the reset' input terminal of iiip-ilop 91 thus changing its state and thereby closing gate 93 so that the 20 kilocycle signal on v line 78 is not applied to the clock cycle control while the apparatus is between cycles, that is, while the output pulse on line 49 applied through the various delay elements is resetting final storage and transferring the previously read command from intermediate storage. s

When the next cycle starts, after the above noted d lays, gate 93 is again openedand the 20 kilocycle signal is applied over line 94 to a count-down chain of cascaded flip-flops 95, 96, 97, 98, 99 and 100 forming a part of the clock cycle control 46. Each of these flip-flops, of course, has an output the frequency of which is one-half ofthe frequency of .its input since each flip-flop provides one carry output pulse for every two input pulses. The harmonically related `signals thus -available at the input and outputs of flip-flops 95 through 100, respectively, are applied to a group of ten clock cycle control gates indicated in FIG. 7 as the A gate, B gate, C gate, D gate, E gate, F gate, G gate, H gate, I gate, J gate, resp. Thus, the 20 kilocycle input to-ipflop 95 is applied over line 101 to the A gate and the D gate while .thevlO kilocycle output of flip-Hop 95A is applied over line 102 to the B gate and the E gate. The tive kilocycle output of flip-dop 96 is applied over line 103 to the C gate and the F gate. The 2.5 kilocycle output from flip-flop 97 is applied over line 104 to the G gate, the 1.25 kilocycle output from flip-flop 9S is applied over line 105 to the H gate. The 625 cycle output from flip-flop 99 `is applied over line 106 to the I gate, and the 312.5 cycle output from ip-ilop 100 is applied over line 107 to the J gate.

The clock cycle code letter which is associated with each command and which is stored in nal storage element 43 for the command being executed, is applied over linev 45 to a decoder 108. The output fromdecoder 108 is applied over a ten channel cable 109, one channel of which is connected to the control terminal of one of the respective clock cycle gates as by control lines C-1, C-2, C-3, C-4, C-5, C-d, C-7, C-tl, C-9 and C-0. Thus, if the command in final storage includes the clock cycle tape code letter A, the inputs to the decoder 108 are so actuated that the output of decoder 108 will supply a signal which holds gate A open but which holds all of the other clock cycle gates closed. That is to say, only the one particular clock cycle gate called for by the clock cycle code letter in nal storage will be held open during the entire period of execution of the command, while other clock cycle gates are closed. Decoder 108 is essentially nothing more than a binary-decimal to decimal converter and includes circuitry all of which is well known in the art. For example, the decoder may consist of a diode logic network including and circuits and or cir- 

3. IN AN AUTOMATIC SYSTEM FOR CONTROLLING A MACHINE, A DIRECTOR CONNECTED FOR ON-LINE OPERATION TO DIRECTLY ACTUATE AN ANALOGUE SERVO-MECHANISM CONTROLLING THE OPERATION OF SAID MACHINE, INPUT MEANS FOR SEQUENTIALLY APPLYING TO SAID DIRECTOR A PREDETERMINED PROGRAM COMPRISING A SERIES OF INDIVIDUAL COMMANDS, EACH OF SAID COMMANDS CONTAINING INFORMATION DIGITALLY ENCODED IN A PLURALITY OF DISCRETE ELECTRICAL SIGNALS, MEANS TO STORE THE INFORMATION CONTAINED IN ONE OF SAID COMMANDS, MEANS TO PRODUCE IN A PREDETERMINED TIME INTERVAL A TRAIN OF PULSES CONSISTING OF A NUMBER OF PULSES DETERMINED BY THE INFORMATION IN SAID STORED COMMAND, FIRST AND SECOND COUNTDOWN CIRCUITS CONNECTED TO BE ACTUATED FROM A COMMON MASTER SOURCE TO PRODUCE FIRST AND SECOND OUTPUT SIGNALS RESPECTIVELY, MEANS TO APPLY SAID TRAIN OF PULSES TO ONE OF SAID COUNTDOWN CIRCUITS TO PHASE MODULATE ITS OUTPUT SIGNAL TO A DEGREE PROPORTIONAL TO THE NUMBER OF PULSES IN SAID TRAIN, MEANS TO APPLY SAID FIRST AND SECOND OUTPUT SIGNALS TO SAID SERVO-MECHANISM, SAID ANALOGUE SERVO-MECHANISM BEING RESPONSIVE TO THE PHASE DIFFERENCE BETWEEN SAID FIRST AND SECOND OUTPUT SIGNALS TO ACTUATE SAID MACHINE TO AN EXTEND DETERMINED BY DIGITAL INFORMATION IN SAID INPUT PROGRAM. 